Skip to content

Conversation

@ramsessanchez
Copy link
Contributor

Add navigability annotations for 'instances' and 'exceptionOccurrences' that restrict the Navigability of these navigation properties.

@ramsessanchez ramsessanchez requested a review from a team as a code owner June 10, 2025 19:16
Copy link
Contributor

@MIchaelMainer MIchaelMainer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's the diff of the input and output

image

@ramsessanchez
Copy link
Contributor Author

6/12 updates:
It was suggested to use ReadRestrictions, ReadRestrcitionsByKey, and IndexableByKey as opposed to Navigability annotations as they provide more control and specified behavior. Navigability is more or less a legacy annotation, however it is still used for a specific case in this PR as it's behavior is useful.

For CalendarView and Instances the same behavior was required, they needed to be either the last segment in the uri path or not be present at all.
Readable = true -> means that it can be read as the last path segment (ie paths ending in \calendarView are maintained )
readableByKey = -> false means that the last path segment cannot be an entity index (ie paths ending in \calenderView\{event-id} are removed)
indexableByKey = false -> means that the entity cannot be indexed anywhere in the segment (ie paths containing ...\calenderView\{event-id}\... anywhere are removed)

For exceptionOccurrences the decision was made to maintain Navigability/None because exceptionOccurrences needs to be fully removed everywhere from all uri paths as it is not a valid and should be specified in the Query portion at the end of the uri path.

@ramsessanchez ramsessanchez merged commit fe22a67 into master Jun 12, 2025
6 checks passed
@ramsessanchez ramsessanchez deleted the ramsess/instancesAndExceptionOccurences-navAnnotation branch June 12, 2025 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants